<!DOCTYPE HTML>
<html>
<head>
  <title>Media test: defaultMuted</title>
  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
  <script type="text/javascript" src="manifest.js"></script>
  <script type="text/javascript" src="../../../dom/html/test/reflect.js"></script>
</head>
<body>
  <a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=706731">Mozilla Bug 706731</a>
  <p id="display"></p>
  <div id="content" style="display: none"></div>
  <video id='v1'></video><audio id='a1'></audio>
  <video id='v2' muted></video><audio id='a2' muted></audio>
<pre id="test">
<script class="testbody" type="text/javascript">
    reflectBoolean({
      element: document.createElement("video"),
      attribute: { content: "muted", idl: "defaultMuted" },
    });

    reflectBoolean({
      element: document.createElement("audio"),
      attribute: { content: "muted", idl: "defaultMuted" },
    });

    var v1 = document.getElementById('v1');
    var a1 = document.getElementById('a1');
    var v2 = document.getElementById('v2');
    var a2 = document.getElementById('a2');

    // Check that muted state correspond to the default value.
    is(v1.muted, false, "v1.muted should be false by default");
    is(a1.muted, false, "a1.muted should be false by default");
    is(v2.muted, true, "v2.muted should be true by default");
    is(a2.muted, true, "a2.muted should be true by default");

    // Changing defaultMuted value should not change current muted state.
    v1.defaultMuted = true;
    a1.defaultMuted = true;
    v2.defaultMuted = false;
    a2.defaultMuted = false;

    is(v1.muted, false, "v1.muted should not have changed");
    is(a1.muted, false, "a1.muted should not have changed");
    is(v2.muted, true, "v2.muted should not have changed");
    is(a2.muted, true, "a2.muted should not have changed");

    mediaTestCleanup();
</script>
</pre>
</body>
</html>
